<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 判断某属性是不是某对象的自身属性（不包括原型链上的可枚举属性）  hasOwnProperty
      class People {
        constructor(name, age) {
          this.name = name
          this.age = age
        }
        hobby(thing) {
          console.log('I like' + thing)
        }
      }

      const people = new People('白雨杰', 21)

      // 使用Object.prototype.hasOwnProperty.call()方法 比 使用people.hasOwnProperty(key)要好一些，
      // 因为你要确保你使用的hasOwnProperty是Object的原型上的方法，而不是People类上的方法
      console.log(Object.prototype.hasOwnProperty.call(people, 'name'))
      for (const key in people) {
        if (people.hasOwnProperty(key)) {
          console.log(`${key}是people的属性`)
        }
      }
      // if (people.hasOwnProperty('name')) {
      //   console.log('people 对象有 name 属性')
      // } else {
      //   console.log('people 对象没有 name 属性')
      // }
    </script>
  </body>
</html>
